<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)-browser;$(NetCoreAppCurrent)-osx;$(NetCoreAppCurrent)-ios</TargetFrameworks>
    <IgnoreForCI Condition="'$(TargetOS)' == 'browser'">true</IgnoreForCI>
    <EnablePreviewFeatures>true</EnablePreviewFeatures>
    <EventSourceSupport Condition="'$(TestNativeAot)' == 'true'">true</EventSourceSupport>
  </PropertyGroup>
  <ItemGroup>
    <Compile Include="AssemblyInfo.cs" />
  </ItemGroup>
  <ItemGroup>
    <RdXmlFile Include="default.rd.xml" />
  </ItemGroup>
  <Import Project="$(CommonTestPath)System\Net\Security\Kerberos\System.Net.Security.Kerberos.Shared.projitems" />
  <ItemGroup Condition="'$(TargetPlatformIdentifier)' != 'browser'">
    <Compile Include="SslStreamExtensions.cs" />
    <Compile Include="TestConfiguration.cs" />
    <Compile Include="TestHelper.cs" />
    <!-- SslStream Tests -->
    <Compile Include="CertificateValidationClientServer.cs" />
    <Compile Include="CertificateValidationRemoteServer.cs" />
    <Compile Include="ClientAsyncAuthenticateTest.cs" />
    <Compile Include="ClientDefaultEncryptionTest.cs" />
    <Compile Include="ParameterValidationTest.cs" />
    <Compile Include="ServerAllowNoEncryptionTest.cs" />
    <Compile Include="ServerAsyncAuthenticateTest.cs" />
    <Compile Include="ServerNoEncryptionTest.cs" />
    <Compile Include="ServerRequireEncryptionTest.cs" />
    <Compile Include="SslStreamCertificateContextTests.cs" />
    <Compile Include="SslStreamConformanceTests.cs" />
    <Compile Include="SslStreamStreamToStreamTest.cs" />
    <Compile Include="SslStreamNetworkStreamTest.cs" />
    <Compile Include="SslStreamMutualAuthenticationTest.cs" />
    <Compile Include="TransportContextTest.cs" />
    <!-- NegotiateAuthentication Tests -->
    <Compile Include="NegotiateAuthenticationKerberosTest.cs" />
    <!-- NegotiateStream Tests -->
    <Compile Include="NegotiateStreamConformanceTests.cs" />
    <Compile Include="NegotiateStreamInvalidOperationTest.cs" />
    <Compile Include="NegotiateStreamStreamToStreamTest.cs" />
    <Compile Include="ServiceNameCollectionTest.cs" />
    <Compile Include="NegotiateStreamKerberosTest.cs" />
    <!-- Common test files -->
    <Compile Include="$(CommonTestPath)System\IO\CallTrackingStream.cs"
             Link="Common\System\IO\CallTrackingStream.cs" />
    <Compile Include="$(CommonTestPath)System\IO\ConnectedStreams.cs"
             Link="Common\System\IO\ConnectedStreams.cs" />
    <Compile Include="$(CommonTestPath)System\IO\DelayStream.cs"
             Link="Common\System\IO\DelayStream.cs" />
    <Compile Include="$(CommonTestPath)System\IO\DelegateStream.cs"
             Link="Common\System\IO\DelegateStream.cs" />
    <Compile Include="$(CommonTestPath)System\IO\DelegateDelegatingStream.cs"
             Link="CommonTest\System\IO\DelegateDelegatingStream.cs" />
    <Compile Include="$(CommonTestPath)System\Net\Capability.Security.cs"
             Link="Common\System\Net\Capability.Security.cs" />
    <Compile Include="$(CommonTestPath)System\Net\SslStreamCertificatePolicy.cs"
             Link="Common\System\Net\SslStreamCertificatePolicy.cs" />
    <Compile Include="$(CommonTestPath)System\Net\RandomReadWriteSizeStream.cs"
             Link="Common\System\Net\RandomReadWriteSizeStream.cs" />
    <Compile Include="$(CommonTestPath)System\Net\ManualChunkingStream.cs"
             Link="Common\System\Net\ManualChunkingStream.cs" />
    <Compile Include="$(CommonTestPath)System\Net\Configuration.cs"
             Link="Common\System\Net\Configuration.cs" />
    <Compile Include="$(CommonTestPath)System\Net\Configuration.Security.cs"
             Link="Common\System\Net\Configuration.Security.cs" />
    <Compile Include="$(CommonTestPath)System\Net\Configuration.Certificates.cs"
             Link="Common\System\Net\Configuration.Certificates.cs" />
    <Compile Include="$(CommonTestPath)System\Net\Configuration.Certificates.Dynamic.cs"
             Link="TestCommon\System\Net\Configuration.Certificates.Dynamic.cs" />
    <Compile Include="$(CommonTestPath)System\Net\Configuration.Http.cs"
             Link="Common\System\Net\Configuration.Http.cs" />
    <Compile Include="$(CommonTestPath)System\Net\HttpsTestClient.cs"
             Link="Common\System\Net\HttpsTestClient.cs" />
    <Compile Include="$(CommonTestPath)System\Net\HttpsTestServer.cs"
             Link="Common\System\Net\HttpsTestServer.cs" />
    <Compile Include="$(CommonTestPath)System\Net\QuicLoad.cs"
             Link="Common\System\Net\System\Net\QuicLoad.cs" />
    <Compile Include="$(CommonTestPath)System\Net\SslProtocolSupport.cs"
             Link="Common\System\Net\SslProtocolSupport.cs" />
    <Compile Include="$(CommonTestPath)System\Net\TestLogging.cs"
             Link="Common\System\Net\TestLogging.cs" />
    <Compile Include="$(CommonTestPath)System\Net\VerboseTestLogging.cs"
             Link="Common\System\Net\VerboseTestLogging.cs" />
    <Compile Include="$(CommonTestPath)System\Net\EventSourceTestLogging.cs"
             Link="Common\System\Net\EventSourceTestLogging.cs" />
    <Compile Include="$(CommonTestPath)System\Security\Cryptography\PlatformSupport.cs"
             Link="CommonTest\System\Security\Cryptography\PlatformSupport.cs" />
    <Compile Include="$(CommonTestPath)System\Security\Cryptography\X509Certificates\CertificateAuthority.cs"
             Link="CommonTest\System\Security\Cryptography\X509Certificates\CertificateAuthority.cs" />
    <Compile Include="$(CommonTestPath)System\Security\Cryptography\X509Certificates\RevocationResponder.cs"
             Link="CommonTest\System\Security\Cryptography\X509Certificates\RevocationResponder.cs" />
    <Compile Include="$(CommonTestPath)System\Threading\Tasks\TaskTimeoutExtensions.cs"
             Link="Common\System\Threading\Tasks\TaskTimeoutExtensions.cs" />
    <Compile Include="$(CommonPath)System\IO\DelegatingStream.cs"
             Link="ProductionCode\Common\System\IO\DelegatingStream.cs" />
    <Compile Include="$(CommonPath)System\Net\ArrayBuffer.cs"
             Link="ProductionCode\Common\System\Net\ArrayBuffer.cs" />
    <Compile Include="$(CommonPath)System\Net\MultiArrayBuffer.cs"
             Link="ProductionCode\Common\System\Net\MultiArrayBuffer.cs" />
    <Compile Include="$(CommonPath)System\Net\StreamBuffer.cs"
             Link="ProductionCode\Common\System\Net\StreamBuffer.cs" />
    <Compile Include="$(CommonPath)System\Net\Security\SslClientAuthenticationOptionsExtensions.cs"
             Link="Common\System\Net\Security\SslClientAuthenticationOptionsExtensions.cs" />
    <Compile Include="..\..\src\System\Net\Security\TlsFrameHelper.cs"
             Link="src\TlsFrameHelper.cs" />
    <Compile Include="TlsFrameHelperTests.cs" />
    <Compile Include="SslAuthenticationOptionsTest.cs" />
    <Compile Include="SslStreamAlertsTest.cs" />
    <Compile Include="SslStreamAllowRenegotiationTests.cs" />
    <Compile Include="SslStreamAllowTlsResumeTests.cs" />
    <Compile Include="SslStreamAlpnTests.cs" />
    <Compile Include="SslStreamCertificateTrustTests.cs" />
    <Compile Include="SslStreamDisposeTest.cs" />
    <Compile Include="SslStreamSniTest.cs" />
    <Compile Include="SslStreamEKUTest.cs" />
    <Compile Include="SslStreamNegotiatedCipherSuiteTest.cs" />
    <Compile Include="SslStreamCredentialCacheTest.cs" />
    <Compile Include="SslStreamSystemDefaultsTest.cs" />
    <Compile Include="SslStreamRemoteExecutorTests.cs" />
  </ItemGroup>
  <ItemGroup Condition="'$(TargetPlatformIdentifier)' != 'browser'">
    <Compile Include="TelemetryTest.cs" />
    <Compile Include="LoggingTest.cs" />
    <Compile Include="$(CommonTestPath)System\Diagnostics\Tracing\TestEventListener.cs"
             Link="Common\System\Diagnostics\Tracing\TestEventListener.cs" />
  </ItemGroup>
  <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'windows'">
    <Compile Include="IdentityValidator.Windows.cs" />
    <Compile Include="Interop\SafeCertContextHandle.cs" />
    <Compile Include="$(CommonTestPath)System\Net\Capability.Security.Windows.cs"
             Link="Common\System\Net\Capability.Security.Windows.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Interop.Libraries.cs"
             Link="Common\Interop\Windows\Interop.Libraries.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Crypt32\Interop.CertContextPropId.cs"
             Link="Common\Interop\Windows\Crypt32\Interop.CertContextPropId.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Crypt32\Interop.CertDuplicateCertificateContext.cs"
             Link="Common\Interop\Windows\Crypt32\Interop.CertDuplicateCertificateContext.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Crypt32\Interop.CertFreeCertificateContext.cs"
             Link="Common\Interop\Windows\Crypt32\Interop.CertFreeCertificateContext.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Crypt32\Interop.CertGetCertificateContextProperty.cs"
             Link="Common\Interop\Windows\Crypt32\Interop.CertGetCertificateContextProperty.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Crypt32\Interop.DATA_BLOB.cs"
             Link="Common\Interop\Windows\Crypt32\Interop.DATA_BLOB.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Crypt32\Interop.MsgEncodingType.cs"
             Link="Common\Interop\Windows\Crypt32\Interop.MsgEncodingType.cs" />
  </ItemGroup>
  <ItemGroup Condition="'$(TargetPlatformIdentifier)' != 'windows' and '$(TargetPlatformIdentifier)' != 'browser'">
    <Compile Include="IdentityValidator.Unix.cs" />
    <Compile Include="$(CommonTestPath)System\Net\Capability.Security.Unix.cs"
             Link="Common\System\Net\Capability.Security.Unix.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Net.Security.Native\Interop.NetSecurityNative.IsNtlmInstalled.cs"
             Link="Common\Interop\Unix\System.Net.Security.Native\Interop.NetSecurityNative.IsNtlmInstalled.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\Interop.Libraries.cs"
             Link="Common\Interop\Unix\Interop.Libraries.cs" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="System.Net.TestData" Version="$(SystemNetTestDataVersion)" />
    <ProjectReference Include="$(LibrariesProjectRoot)System.Security.Principal.Windows\src\System.Security.Principal.Windows.csproj" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="$(CommonTestPath)StreamConformanceTests\StreamConformanceTests.csproj" />
  </ItemGroup>
</Project>
